(1) Field of the Invention
The present invention relates to processing user-input. More specifically, the present invention relates to a method for processing type-ahead input and operation-abort input in an application program which must perform time-intensive operations.
(2) Art Background
Most computer-users are familiar with type-ahead capability. Occasionally, the computer gets busy performing one operation or another and does not respond to user-input such as mouse clicks or keyboard entry. Then, after the computer has finished doing whatever caused the non-response, the computer rapidly processes the input to "catch up" with the user. Two familiar examples of type-ahead include typing in a word-processing application while the computer is busy saving, repaginating or printing a document, and entering data in a data-entry program while the computer is busy sending or retrieving data from a database server. The common characteristic in both cases is that type-ahead capability permits the user to submit input without having to wait for a previously initiated operation to complete. Since a fundamental goal of any user-interface design is to minimize the amount of time a user must spend waiting on the computer, type-ahead capability is clearly a desirable feature.
Operation-abort capability is also familiar to most computer users. Occasionally, after requesting the computer to perform an operation, such as printing a word-processing document or searching a database, a computer-user will want to abort the operation before it is completed. This is typically accomplished by pressing a predetermined set of keys, such as "control-C" or "control-Break" (accomplished by holding down the "control" key and then pressing the "C" or "Break" key, respectively). Without operation-abort capability the user would be forced to await completion of the previously requested operation despite the fact that the result of the operation is no longer desired. Since, as mentioned above, a fundamental goal of a user-interface design is to minimize the amount of time a user must spend waiting on the computer, and since it is obviously inefficient to force a user to wait for completion of an unnecessary operation, operation-abort capability is a desirable feature in any application program which must perform time-intensive operations.
Despite the dear advantages of providing a computer-user with both operation-abort and type-ahead capabilities, developers of application programs written for Microsoft Windows.TM. 3.x operating systems have had to sacrifice type-ahead capability in order to provide operation-abort capability. Due to difficulties inherent in the design of the Windows 3.x operating system, when operation-abort capability is provided in prior-art Windows 3.x application programs, type-ahead capability is disabled.
The Microsoft Windows 95 and Windows NT operating systems (hereinafter referred to collectively as 32-Bit Windows) provide a possible solution to the problem of implementing both the type-ahead and operation-abort features. Unfortunately, the solution works only in application programs designed for and run on the 32-Bit Windows platform and is not backward-compatible with the older Windows 3.x platform. This is significant because there is still an enormous base of Windows 3.x installations and it is commercially desirable to target application programs for both the Windows 3.x and the 32-Bit Windows operating systems. For developers of application programs intended to run on both Windows 3.x and 32-Bit Windows, the inability to provide both type-ahead and operation-abort capability is still a problem. This problem is overcome by the present invention.